#ifndef SNAKE_DATA_H
#define SNAKE_DATA_H

typedef struct snake_data
{
    char name[30];
    int score;
    struct snake_data *prev;
    struct snake_data *next;
} snake_data_t , *snake_data_p;

typedef struct snake_data_head
{
    int length;
    snake_data_p head;
} snake_data_head_t, *snake_data_head_p;


snake_data_head_p snake_data_head_create(void);
snake_data_p snake_data_create(char name[], int score);
void snake_data_add(snake_data_head_p head, snake_data_p node);
void snake_data_remove(snake_data_head_p head, snake_data_p node);
void snake_data_sort(snake_data_head_p head);
void snake_data_print(snake_data_head_p head);
void snake_data_destroy(snake_data_head_p head);
snake_data_head_p snake_data_open(char *filename);
void snake_data_save(snake_data_head_p head, char *filename);
void snake_data_add_line(const char *name, int score);


#endif /* SNAKE_DATA_H */